﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sisco.LogicaNegocio;


namespace Sisco.AplicacionEscritorio.Usuario
{     
    public partial class Registro_Usuario : Form
    {
        public Registro_Usuario()
        {
            InitializeComponent();
        }

        private void Registro_Usuario_Load(object sender, EventArgs e)
        {
            this.LoadListEmpresa();
        }

        private void LoadListEmpresa()
        {
            EmpresaBLL empresaBLL = new EmpresaBLL();

            cmbEmpresa.DataSource = empresaBLL.Listar();
            cmbEmpresa.ValueMember = "IDEMPRESA";
            cmbEmpresa.DisplayMember = "NOMBREEMPRESA";
            cmbEmpresa.SelectedIndex = -1;
        }

        private void cb_Empresa_SelectionChangeCommitted(object sender, EventArgs e)
        {
            if (cmbEmpresa.SelectedIndex >= 0)
            {
                SucursalBLL sucursalBLL = new SucursalBLL();

                string idEmpresa = cmbEmpresa.SelectedValue.ToString();
                cmbSucursal.DataSource = sucursalBLL.Listar(idEmpresa);
                cmbSucursal.ValueMember = "IDSUCURSAL";
                cmbSucursal.DisplayMember = "CIUDAD";
                cmbSucursal.SelectedIndex = -1;

                cmbDepartamento.DataSource = null;
            }
        }

        private void cmbSucursal_SelectionChangeCommitted(object sender, EventArgs e)
        {
            if (cmbSucursal.SelectedIndex >= 0)
            {
                DepartamentoBLL departamentoBLL = new DepartamentoBLL();

                string idSucursal = cmbSucursal.SelectedValue.ToString();
                cmbDepartamento.DataSource = departamentoBLL.Listar(idSucursal);
                cmbDepartamento.ValueMember = "IDDEPARTAMENTO";
                cmbDepartamento.DisplayMember = "NOMBREDEPARTAMENTO";
                cmbDepartamento.SelectedIndex = -1;
            }
        }
      
        private void LimpiarFormulario() 
        {
            rbPersonalSistemas.Checked = false;
            rbTercero.Checked = false;

            txtNombre.ResetText();
            txtCorreo.ResetText();
            cmbEmpresa.DataSource = null;
            cmbSucursal.DataSource = null;
            cmbDepartamento.DataSource = null;

            txtUsuarioDBS.ResetText();
            txtUsuarioWindows.ResetText();

            txtCodigoEmpleado.ResetText();
            txtTelefono.ResetText();
            txtAnexo.ResetText();
            txtCelular.ResetText();
            txtRPM.ResetText();
            txtRPC.ResetText();
            txtNextel.ResetText();

            gbAccesoSistema.Visible = true;
            txtUsuario.ResetText();
            txtPassword.ResetText();
        }

        private void rbPersonalSistemas_CheckedChanged(object sender, EventArgs e)
        {
            if (rbPersonalSistemas.Checked)
            {
                cmbEmpresa.Enabled = true;
                cmbSucursal.Enabled = true;
                cmbDepartamento.Enabled = true;
                txtCodigoEmpleado.Enabled = true;
                txtUsuarioDBS.Enabled = true;

                this.LoadListEmpresa();

                gbAccesoSistema.Enabled = true;
            }
        }

        private void rbTercero_CheckedChanged(object sender, EventArgs e)
        {
            if (rbTercero.Checked)
            {
                cmbEmpresa.DataSource = null;
                cmbEmpresa.Enabled = false;
                
                cmbSucursal.DataSource = null;
                cmbSucursal.Enabled = false;

                cmbDepartamento.DataSource = null;
                cmbDepartamento.Enabled = false;

                txtCodigoEmpleado.Enabled = false;
                txtUsuarioDBS.Enabled = false;

                gbAccesoSistema.Enabled = false;
            }
        }

        private void btn_Agregar_Click(object sender, EventArgs e)
        {
            // Registro de terceros
            //if (chkTercero.Checked)
            //{
            //    Usuario u = new Usuario();
            //    u.oficina = cmbSucursal.Text;
            //    u.nombre = txtNombre.Text;
            //    u.correo = txtCorreo.Text;
            //    u.idempresa = cmbEmpresa.Text;
            //    u.departamento = txt_Area_Departamento.Text;
            //    u.usuariowindows = txtUsuarioWindows.Text;
            //    u.usuariodbs = txtUsuarioDBS.Text;
            //    u.codigorrhh = txtCodigoEmpleado.Text;
            //    u.telefono = txtTelefono.Text;
            //    u.anexo = txtAnexo.Text;
            //    u.celular = txtCelular.Text;
            //    u.rpc = txtRPC.Text;
            //    u.rpm = txtRPM.Text;
            //    u.nextel = txtNextel.Text;
            //    u.ususistemas = txtUsuario.Text;
            //    u.passsistemas = txtPassword.Text;
            //    //Registra terceros (Reparador = 2) ..(2 =  a un tercero)
            //    controlador.IngresarUsuario(u, 2);
            //    MessageBox.Show("Tercero Registrado Correctamente");
            //    limpia();
            //}

            //else
            //{
            //    //Registro de Usuarios y AsistentesReparadores
            //    // verifica si es asistente y si sus datos han sido ingresados...          
            //    //verifico si ingreso sus datos respecto a la empresa donde labora 
            //    if (!string.IsNullOrWhiteSpace(txtNombre.Text))
            //    {
            //        if (cmbEmpresa.SelectedIndex >= 0)
            //        {
            //            if (cmbSucursal.SelectedIndex >= 0)
            //            {
            //                if (!string.IsNullOrWhiteSpace(txt_Area_Departamento.Text))
            //                {
            //                    if (!string.IsNullOrWhiteSpace(txtUsuarioWindows.Text))
            //                    {
            //                        if (cmbEmpresa.SelectedIndex >= 0 & cmbSucursal.SelectedIndex >= 0 & chkSistemas.Checked == false)
            //                        {
            //                            Usuario u = new Usuario();
            //                            u.oficina = cmbSucursal.Text;
            //                            u.nombre = txtNombre.Text;
            //                            u.correo = txtCorreo.Text;
            //                            u.idempresa = cmbEmpresa.Text;
            //                            u.departamento = txt_Area_Departamento.Text;
            //                            u.usuariowindows = txtUsuarioWindows.Text;
            //                            u.usuariodbs = txtUsuarioDBS.Text;
            //                            u.codigorrhh = txtCodigoEmpleado.Text;
            //                            u.telefono = txtTelefono.Text;
            //                            u.anexo = txtAnexo.Text;
            //                            u.celular = txtCelular.Text;
            //                            u.rpc = txtRPC.Text;
            //                            u.rpm = txtRPM.Text;
            //                            u.nextel = txtNextel.Text;
            //                            u.ususistemas = txtUsuario.Text;
            //                            u.passsistemas = txtPassword.Text;
            //                            //registramos el usuario en la Base de Datos
            //                            if (chkSistemas.Checked)
            //                            {
            //                                controlador.IngresarUsuario(u, 1);
            //                                MessageBox.Show("Asistente Registrado Correctamente");
            //                                limpia();
            //                            }
            //                            else
            //                            {
            //                                controlador.IngresarUsuario(u, 0);
            //                                MessageBox.Show("Usuario Registrado Correctamente");
            //                                limpia();
            //                            }
            //                        }
            //                        ///////////////
            //                        if (chkSistemas.Checked)
            //                        {
            //                            if (string.IsNullOrWhiteSpace(txtUsuario.Text) || string.IsNullOrWhiteSpace(txtPassword.Text))
            //                            {
            //                                MessageBox.Show("Complete los Datos para el Usuario de Sistema");
            //                                txtNombre.Focus();
            //                            }
            //                        }
            //                        ///////////////
            //                        if (cmbEmpresa.SelectedIndex >= 0 & cmbSucursal.SelectedIndex >= 0 & chkSistemas.Checked == true & !string.IsNullOrWhiteSpace(txtUsuario.Text) & !string.IsNullOrWhiteSpace(txtPassword.Text))
            //                        {
            //                            Usuario u = new Usuario();
            //                            u.oficina = cmbSucursal.Text;
            //                            u.nombre = txtNombre.Text;
            //                            u.correo = txtCorreo.Text;
            //                            u.idempresa = cmbEmpresa.Text;
            //                            u.departamento = txt_Area_Departamento.Text;
            //                            u.usuariowindows = txtUsuarioWindows.Text;
            //                            u.usuariodbs = txtUsuarioDBS.Text;
            //                            u.codigorrhh = txtCodigoEmpleado.Text;
            //                            u.telefono = txtTelefono.Text;
            //                            u.anexo = txtAnexo.Text;
            //                            u.celular = txtCelular.Text;
            //                            u.rpc = txtRPC.Text;
            //                            u.rpm = txtRPM.Text;
            //                            u.nextel = txtNextel.Text;
            //                            u.ususistemas = txtUsuario.Text;
            //                            u.passsistemas = txtPassword.Text;
            //                            //registramos el usuario en la Base de Datos
            //                            if (chkSistemas.Checked)
            //                            {
            //                                controlador.IngresarUsuario(u, 1);
            //                                MessageBox.Show("Usuario Registrado Correctamente");
            //                                limpia();
            //                            }
            //                            else
            //                            {
            //                                controlador.IngresarUsuario(u, 0);
            //                                MessageBox.Show("Usuario Registrado Correctamente");
            //                                limpia();
            //                            }
            //                        }
            //                    }
            //                    else
            //                    {
            //                        MessageBox.Show("Ingrese usuario windows");
            //                        txtUsuarioWindows.Focus();
            //                    }
            //                }
            //                else
            //                {
            //                    MessageBox.Show("Ingrese area");
            //                    txt_Area_Departamento.Focus();
            //                }
            //            }
            //            else
            //            {
            //                MessageBox.Show("Seleccione sucursal");
            //                cmbSucursal.Focus();
            //            }
            //        }
            //        else
            //        {
            //            MessageBox.Show("Seleccione empresa");
            //            cmbEmpresa.Focus();
            //        }
            //    }
            //    else
            //    {
            //        MessageBox.Show("Ingrese nombre");
            //        txtNombre.Focus();
            //    }
            //}
        }
    }
}
